package com.avic.map.service.impl;

import com.avic.map.common.constant.CacheConstant;
import com.avic.map.dal.mapper.CarResourceMapper;
import com.avic.map.dal.mapper.EmergencyFireSignMapper;
import com.avic.map.dal.mapper.EmergencyMapper;
import com.avic.map.dal.mapper.MapAudioMapper;
import com.avic.map.dal.mapper.MapShipResourceMapper;
import com.avic.map.dal.mapper.MapTaggingMapper;
import com.avic.map.dal.mapper.ShipResourceMapper;
import com.avic.map.dal.mapper.ShipStaticInfoMapper;
import com.avic.map.dal.mapper.SingleSoldierResourceMapper;
import com.avic.map.dal.mapper.UavResourceMapper;
import com.avic.map.websocket.MapSocketHandler;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;

import javax.annotation.Resource;

/**
 * 抽象service基类
 *
 * @author: huangsheng
 * @date: 2017/10/19 上午11:04
 */
public abstract class AbstractServiceImpl {

    @Autowired
    protected MapShipResourceMapper mapShipResourceMapper;

    @Autowired
    protected EmergencyFireSignMapper emergencyFireSignMapper;

    @Autowired
    protected EmergencyMapper emergencyMapper;

    @Autowired
    protected ShipStaticInfoMapper shipStaticInfoMapper;

    @Resource(name = CacheConstant.REDIS_BEAN_NAME)
    protected RedisTemplate redisTemplate;

    @Autowired
    protected ObjectMapper objectMapper;

    /**
     * socket 操作类
     * 用户发送消息。接收用户消息并处理
     */
    @Autowired
    protected MapSocketHandler mapSocketHandler;

    @Autowired
    protected SingleSoldierResourceMapper singleSoldierResourceMapper;

    @Autowired
    protected CarResourceMapper carResourceMapper;

    @Autowired
    protected ShipResourceMapper shipResourceMapper;

    @Autowired
    protected MapTaggingMapper mapTaggingMapper;

    @Autowired
    protected MapAudioMapper mapAudioMapper;

    @Autowired
    protected UavResourceMapper uavResourceMapper;
}
